home *** CD-ROM | disk | FTP | other *** search
- Atree release 2.7
- ~~~~~~~~~~~~~~~~~
- Changes in 2.7:
-
- - Got rid of LFBATCH.EXE, allow LFEDIT.EXE to process and run
- large files, just not edit them. This is because a Windows 3.1
- multiline edit control can only handle about 48K of text.
- Building my own editor to handle larger files is beyond the
- purpose of the atree package. (This limitation should disappear
- in Windows NT, since it uses flat 32bit memory model.)
-
- - Now use comman dialogs in LFEDIT.EXE. This should work under
- Windows 3.0 as well, since I've included commdlg.dll with the
- package.
-
- - Fixed some display bugs and exit problems in the OCR demo.
-
- - Used Borland C++ 3.1 for compilation with full speed
- optimizations in the Windows IDE. Nice product, BC++ 3.1! If
- we release another version of this demo software, it'll be for
- Windows 3.1 only, and probably 386 or better only. Which means
- we can gain additional optimizations and speed increases.
-
- - Fixed some documentation errors in atree.hlp, and added a more
- indepth explanation of the training algorithm.
-
- - Finally had the time to really figure out Program Manager DDE,
- so now setup.exe installs the appropriate icons and nice icon
- titles.
-
- Changes in 2.6:
-
- - Moved all documentation into atree.hlp. Documentation updated
- and clarified. New introduction section.
-
- - Fixed small bug in atree_train relating to getting rid of Status
- box when Cancel was pressed.
-
- - Redid the OCR demo. Now you can draw your own characters.
- Added rotation and translation to make it an authentic OCR demo.
- It is very impressive! Although training time can be longer,
- since we are trainingh on 3 characters instead of 1.
-
- Changes in 2.51:
-
- - Added a setup program to add Program Manager groups.
-
- Changes in 2.5:
-
- - Big new addition: A character recognition demo that recognizes
- the letter S in extreme noise, and is able to differentiate
- between a noisy S and a noisy 5. Training is very fast, about
- 15-20 minutes, compared to days for a backprop net on similar
- hardware.
-
- - Removed memory mangement routines we wrote for 2.0, now use the
- Borland C++ 3.0 memory management routines, which are about a
- zillion times faster. So, no more waiting for encoding
- building; should take at most a minute on VERY large problems.
-
- - Reworked a lot of the I/O routines that are now more compatible
- with the UNIX version, again due to improved Windows support in
- BC++ 3.0.
-
- - Fixed bug in reading in boolean encodings; it used to set high
- and low to 1.0 and 0.0 automatically, but now preserves high and
- low as specified in the training set. After all -1 and 1, or 100
- and 0 are just as valid representations of the two boolean
- states as 1 or 0.
-
- - Fixed bug in boolean bit vector memory allocation.
-
- - The atree Status Window is MUCH improved, and no longer is ill
- behaved. Now has a cancel button! Now you don't have to exit
- out of the program to stop training!
-
- - LF rewritten to only keep one tree in memory at a time during
- training, and only _voter_ number of trees in memory during
- evaluation. Evaluation is done using fast trees.
-
- - The parser code for LF has been changed dramatically to allow it
- to be well behaved under Windows. It was not re-entrant before,
- and caused all kinds of problems if you tried to run a buggy
- program twice from the same session of LFEDIT.
-
- - LFEDIT will now highlight parse errors in the edit window.
-
- - Renamed LF.EXE to LFBATCH.EXE to differentiate it better from
- LFEDIT.EXE.
-
- - Added Lf Status Dialog to track progress of train set building
- and test set evaluation. Has cancel button enabled during test
- evaluation.
-
- - LF improved semantically. Added 4 example files that show how
- to use every lf language feature, with documentation.
-
- - Removed sphere.lf. Just too darn big.
-
- - Added abs_sine.lf. Learning the absolute value of sine is
- something backprop has trouble with.
-
- - Runs well under Windows 3.1, and I haven't had a UAE or GPF in
- days. Testing has been a lot more extensive for this product.
-
-
- Changes in 2.0:
-
- - Added several new functions to the atree library, including tree
- and coding I/O, see atree.h.
-
- - The atree structures have been totally revamped, and now can fit
- into 12 bytes (for nodes) and 4 bytes (for leaves).
-
- - atree_train() has been changed to present the whole training set
- during one epoch, although in a shuffled form. Before, we just
- randomly picked vectors out of the training set, leaving the
- possiblity of a large number of vectors not being presented
- during an epoch. Also, we check our estimate of success after
- adaptation against the whole training set (with no adaptation)
- to give the ACTUAL number correct. This step only occurs when
- training has reached the maximum allowed number of epochs, or
- when the estimator indicates the tree has gotten the necessary
- amount of vectors correct. If the actual is lower than the
- estimate, we keep training for another epoch, up until the
- maximum number of epochs has been reached.
-
- - Memory allocation for trees now the same as for bit vectors (and
- every other dynamically allocated object!): the WinMem_Malloc
- routine is used! Thanks to Rolf Manderschied for coming up with
- a better build_tree! Trees are now allocated from free lists,
- and are returned to the free lists when destroyed.
-
- - Changed the multiplexor function in mult.exe: can now specify
- the number of control bits at compile time.
-
- - Because of the C library I/O routines, the atree library is no
- longer in a .DLL. Instead, atree.c must be compiled into
- applications. Sorry! But I didn't feel like rewriting the
- whole standard C I/O library to index data by the data segment
- only, instead of the stack segment (in .DLL's, ds != ss).
-
- - As a result of the above, applications need no longer include
- every atree library function in the IMPORTS section of their
- .def files. However, you DO need to include VERBOSITYWNDPROC in
- the EXPORTS section, along with whatever other Window Procedures
- your application is exporting.
-
- - Improvements to the atree Status window (verbosity output). It
- doesn't hang around after training is finished. It flickers
- quite noticeably, though, when calls to atree_train() occur
- rapidly! If anyone has a better idea... let me know!
-
- - Documentation updated.
-
- - I still don't know how atree.c compiles with Microsoft C... can
- anyone doing this please contact me?
-
-
- Changes in 1.2:
-
- - Redid atree_train verbosity output, no longer have to click
- after every epoch - scrolling window flaky when training two
- trees simultaneously (because of storage of strings in global
- variables - a quick fix, to be sure, but much better than the
- old MessageBoxes!)
-
- - Mult.exe is not a two-bit multiplexor, it's a three-bit
- multiplexor! Boy, do I feel embarrased! 2^11 elements in
- domain, instead of 2^6, which means that it is a lot harder
- problem than I thought, and would explain the longer training
- times than one would expect from a two-bit multiplexor.
-
- - minor macro name changes to keep Dr. Armstrong happy.
-
-
- Changes in 1.1:
-
- - Bug in atree_free() fixed, will free all subtrees now.
-
- - Modified ????_flag assignments in build_tree() that caused flaky
- learning if memory wasn't initialized to zero first.
-
- - Mult.exe now has verbosity level 1, so it doesn't look like it's
- just sitting there doing nothing.
-
-
- -- END --
-